t = int(input())
ans = []
for i in range(t):
a = [0]
b = [0]
n = int(input())
for j in range(n):
ai, bi = map(int, input().split())
a.append(ai)
b.append(bi)
time = 0
tm = [0]
tm += [int(x) for x in input().split()]
diff = 0
for k in range(1, n + 1):
time += a[k] - b[k - 1] + tm[k]
if k != n:
time += (b[k] - a[k] + 1) // 2
if time < b[k]:
time += b[k] - time
else:
continue
ans.append(time)
for _ in range(len(ans)):
print(ans[_])
771. Jewels and Stones | 1512. Number of Good Pairs |
672. Richest Customer Wealth | 1470. Shuffle the Array |
1431. Kids With the Greatest Number of Candies | 1480. Running Sum of 1d Array |
682. Baseball Game | 496. Next Greater Element I |
232. Implement Queue using Stacks | 844. Backspace String Compare |
20. Valid Parentheses | 746. Min Cost Climbing Stairs |
392. Is Subsequence | 70. Climbing Stairs |
53. Maximum Subarray | 1527A. And Then There Were K |
1689. Partitioning Into Minimum Number Of Deci-Binary Numbers | 318. Maximum Product of Word Lengths |
448. Find All Numbers Disappeared in an Array | 1155. Number of Dice Rolls With Target Sum |
415. Add Strings | 22. Generate Parentheses |
13. Roman to Integer | 2. Add Two Numbers |
515. Find Largest Value in Each Tree Row | 345. Reverse Vowels of a String |
628. Maximum Product of Three Numbers | 1526A - Mean Inequality |
1526B - I Hate 1111 | 1881. Maximum Value after Insertion |